<?php

/**
 * Przykladowy modul z logowaniem i zasobem wymagajacym zalogowania. hastlo w md5
 * nie zastosowalem zend form 
 * @author damian 18-07-2012
 *
 */
class LogowanieserafinskiController extends Zend_Controller_Action
{
	# @param string nazwa modulu - wykorzystywana np. przy zmianie nazwy klasy
	private $modul_nazwa='logowanieserafinski';
	
    public function init()
    {
        /* tekst zostanie zle wyseietlony bo wykonuje sie on za wczesnie */
    	//echo 'wywołanie akcji init !!';	
    	$profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
		$profiler->setEnabled(true);
		
		$bootstrap = $this->getInvokeArg('bootstrap');
	    $db = $bootstrap->getResource('db');
		$db->setProfiler($profiler);
    	
    }

    public function indexAction()
    {
		echo 'dziala';
        // action body
    }

    /**
     * Coś nie dziala - do wywalenie nei wykorzysatane
     * @author damian 18-07-2012
     */
	 public function formtestAction()
    {
		Application_Model_Narzedziowe_CVarDumper::dodaj('po logowwaniu formtest');
        // action body
    }

     /**
     * Po zalogowaniu mozna wejsc do tego modulu i pisze ze jest zalogowany
     * sedno sprawy ! jak nie zalogowany to pisz i link do formularza logowania
     * @author damian 18-07-2012
     */
 	public function testAction()
    {
		echo 'dziala test';
        // action body
    }
    
	/**
	 * wylogowywanie preniesienie do modulu do index 
	 */
	public function logoutAction()
	{
		$auth = Zend_Auth::getInstance();
		$auth->clearIdentity();
		return $this->_helper->redirector('index',$this->modul_nazwa,'default');
	}
	
    /**
     * Akcja logowania sie
     * @author damian 18-07-2012
     */
 	public function loginAction()
    {
    	$this->_helper->viewRenderer('index');
	   	Application_Model_Narzedziowe_CVarDumper::dodaj($this->getRequest(),'2opissl');
	   
	   	
	   	   # wykorzystanie narzedzia zenda klasa Auth tworze jeje obiekt 
		   $adapter = new Zend_Auth_Adapter_DbTable( null, 'user','username','password');
		   
		   # przypisuje do wlasnosci wratosci z formularza
		   $adapter->setIdentity( $_POST['username'] );
		   $adapter->setCredential( md5( $_POST['password'] ) );
	
		   Application_Model_Narzedziowe_CVarDumper::dodaj('3');
		   $auth = Zend_Auth::getInstance();
		   $result= $auth->authenticate($adapter); //wasciwe sprawdzanie loginu i hasla
		  
		   # $result jest obiektem klasy Zend_Auth  jego metoa isValid zwraca informacje o logowaniu
		   if( $result->isValid())
		   {
		   	// logowanie sie udalo
		   	Application_Model_Narzedziowe_CVarDumper::dodaj('poprawne logowanie');
		   	return $this->_helper->redirector('test',$this->modul_nazwa,'default');
		   	
		   }
		   else 
		   {
		   	$this->view->blendy=true;
		   }
		  
	   Application_Model_Narzedziowe_CVarDumper::dodaj('3opiss');
	}
    
}

